package com.payroll.util;

import java.math.BigDecimal;


public final class PayrollConstants {

    // LDAP-related constants
    /**
     * Key under which the results of LDAP authentication (Boolean) are stored
     * in the session. Absence of key indicates authentication has not been
     * attempted.
     */
    public static final String LDAP_AUTH_KEY = "ldap.authentication.success";

	// General Security Constants specific to Sacwis
	public final static java.lang.String LOGON_ACTION = "LOGON";
    public final static java.lang.String CONTINUE_LOGON_ACTION = "CONTINUELOGON";
    public final static java.lang.String CHANGE_PW_ACTION = "CHANGEPW";

	// General Security Constants specific to Sacwis
	public final static java.lang.String ICHAIN_LOGON_ACTION = "ICHAINLOGON";
	public final static java.lang.String LOGOFF_ACTION = "LOGOFF";
	public final static java.lang.String LOGON_URL	= "/Sacwis.jsp";
	public final static java.lang.String LOGON_PATH = "sacwis";
	public final static java.lang.String DEFAULT_FNAME = "Development";
	public final static java.lang.String DEFAULT_LNAME = "User";
	public final static java.lang.String SECURITY_ERROR_URI = "/common/SecurityError.jsp";

	// Domain used to send e-mails to request reports.
	public final static String DOMAIN = "dhfs.state.wi.us";

	// Unit Supervisor Job Class
	public final static int UNIT_SUPERVISOR_JOB_CLASS = 1;
	public final static int UNIT_SUPERVISOR2_JOB_CLASS = 2;
	public final static int UNIT_ACTING_SUPERVISOR_JOB_CLASS = 99;

	// Assignment Group
	public final static int CASE_ASSIGNMENT_GROUP = 1;
	public final static int PROVIDER_ASSIGNMENT_GROUP = 2;
	public final static int INTAKE_ASSIGNMENT_GROUP = 3;

	// Assignment Category
	public final static int CASE_ASSIGNMENT_CATEGORY = 1;
	public final static int PROVIDER_ASSIGNMENT_CATEGORY = 2;
	public final static int INTAKE_ASSIGNMENT_CATEGORY = 3;

	//Assignment Type
	public final static int CASE_ASSIGNMENT_TYPE = 1;
	public final static int PROVIDER_ASSIGNMENT_TYPE = 2;
	public final static int INTAKE_ASSIGNMENT_TYPE = 3;
	public final static int INQUIRY_ASSIGNMENT_TYPE = 4;

	// Assignment Role
	public final static int PRIMARY_ASSIGNMENT_ROLE = 1;
	public final static int SECONDARY_ASSIGNMENT_ROLE = 2;
	public final static int COUNSELOR_ASSIGNMENT_ROLE = 3;

	// Assignment Response
	public final static int PRIMARY_ASSIGNMENT_RESPONSE = 1;
	public final static int SECONDARY_ASSIGNMENT_RESPONSE = 2;
	public final static int COUNSELOR_ASSIGNMENT_RESPONSE = 3;

//	SM02_AccessReport static constants
	public static final BigDecimal CHILD_ABUSE_INTAKE = new BigDecimal("1");
	public static final BigDecimal ADULT_ABUSE_INTAKE = new BigDecimal("2");
	public static final BigDecimal SPECIAL_CONDITIONS_INTAKE = new BigDecimal("3");
	public static final BigDecimal SERVICE_REFERRAL_INTAKE = new BigDecimal("4");

	public static final BigDecimal CHILD_ON_CHILD_SEXUAL_ABUSE = new BigDecimal("8");
	public static final BigDecimal FOSTER_CARE_REFERRAL = new BigDecimal("9");
	public static final BigDecimal CAREGIVER_UNAVAILABLE = new BigDecimal("10");
	public static final BigDecimal PARENT_IN_NEED_OF_ASSISTANCE = new BigDecimal("11");

	public static final BigDecimal SELF_NEGLECT_CODE = new BigDecimal("34");

	public static final BigDecimal INITIAL_INTAKE = new BigDecimal("1");
	public static final BigDecimal ADDITIONAL_INTAKE = new BigDecimal("2");
	public static final BigDecimal SUPPLEMENTAL_INTAKE = new BigDecimal("3");

	public static final BigDecimal INTAKE_NAME_ROLE_ID = new BigDecimal("5");

	//Race constants
	public static final BigDecimal AMERICAN_INDIAN_ALASKAN_NATIVE = new BigDecimal("5");
	public static final BigDecimal ASIAN = new BigDecimal("4");
	public static final BigDecimal BLACK_AFRICAN_AMERICAN = new BigDecimal("2");
	public static final BigDecimal NATIVE_HAWAIIAN_OTHER_PACIFIC_ISLANDER = new BigDecimal("7");
	public static final BigDecimal WHITE = new BigDecimal("1");
	public static final BigDecimal UNABLE_TO_DETERMINE = new BigDecimal("6");
	public static final BigDecimal MULTI_RACE = new BigDecimal("8");

	//Address constants
	public static final BigDecimal STREET = new BigDecimal("1");
	public static final BigDecimal PO_BOX = new BigDecimal("2");
	public static final BigDecimal ROUTE = new BigDecimal("3");

	//PRE HSN Placement constsnts
	public static final BigDecimal PRE_HSN_PLACEMENT_SERVICE_TYPE = new BigDecimal("9999");

	//Case assignement when a Hotline Intake is Linked to a Case
	public static final int CASE_ASSIGNMENT_TYPE_FOR_HOTLINE = 6;
	public static final int CASE_ASSIGNMENT_ROLE_FOR_HOTLINE = 4;
	public static final int CASE_ASSIGNMENT_RSPS_FOR_HOTLINE = 1;

	//	Case assignement when a Service referral is Linked to a Case
	public static final int CASE_ASSIGNMENT_TYPE_FOR_SERV_REF = 9;
//	public static final int CASE_ASSIGNMENT_ROLE_FOR_SERV_REF = 4;
//	public static final int CASE_ASSIGNMENT_RSPS_FOR_SERV_REF = 1;


	public static final int CI_UNIT_ROLE = 4;
	public static final int RECV_UNIT_ROLE = 4;

	public static final BigDecimal  CONNECTION_PRIORITY_HIGH = new BigDecimal(1);
	public static final BigDecimal  CONNECTION_PRIORITY_LOW  = new BigDecimal(2);

	public static final String  CONNECTION_PRIORITY_HIGH_STRING = "FSN";
	public static final String  CONNECTION_PRIORITY_LOW_STRING  = "FSNSRCHW";
	public static final String  CONNECTION_PRIORITY_PING_STRING  = "FSFNPING";

	//Case/Intake/INvestigation/Person Split/Merge/Delete types
	public static final BigDecimal TYPE_SPLIT_CASE 			= new BigDecimal("1");
	public static final BigDecimal TYPE_MERGE_CASE 			= new BigDecimal("2");
	public static final BigDecimal TYPE_SPLIT_INTAKE 		= new BigDecimal("3");
	public static final BigDecimal TYPE_RELINK_INTAKE 		= new BigDecimal("4");
	public static final BigDecimal TYPE_SPLIT_INVESTIGATION = new BigDecimal("5");
	public static final BigDecimal TYPE_MOVE_INVESTIGATION 	= new BigDecimal("6");

}

